package cn.fl.capital.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.capital.dto.InsFileSyncDDTO;
import cn.fl.capital.vo.InsFileSyncDVO;

/**
 * @Description: 资方文件同步明细表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class InsFileSyncDVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto InsFileSyncDDTO
     * @return InsFileSyncDVO
     */
    public static InsFileSyncDVO toVO(InsFileSyncDDTO dto) {
        InsFileSyncDVO vo = null;
        if (dto != null) {
            vo = new InsFileSyncDVO();
            vo.setId(dto.getId());
            vo.setPid(dto.getPid());//INS_FILE_SYNC.ID
            vo.setPaySchId(dto.getPaySchId());//支付表ID
            vo.setInsCntNo(dto.getInsCntNo());//资方合同号
            vo.setPayPd(dto.getPayPd());//期次
            vo.setPayDt(dto.getPayDt());//当期应收日期
            vo.setCapAmt(dto.getCapAmt());//当期应收本金
            vo.setPaidCapAmt(dto.getPaidCapAmt());//当期实收本金
            vo.setIntrAmt(dto.getIntrAmt());//当期应收利息
            vo.setPaidIntrAmt(dto.getPaidIntrAmt());//当期实收利息
            vo.setPenaltyAmt(dto.getPenaltyAmt());//当期应收罚息
            vo.setPaidPenaltyAmt(dto.getPaidPenaltyAmt());//当期实收罚息
            vo.setDataStatus(dto.getDataStatus());//数据状态 CAP0065 1:成功 0：失败

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
            // 我司合同号
            vo.setCntNo(dto.getCntNo());
            // 逾期状态
            vo.setOvdSts(dto.getOvdSts());
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo InsFileSyncDVO
     * @return InsFileSyncDDTO
     */
    public static InsFileSyncDDTO toDTO(InsFileSyncDVO vo) {
        InsFileSyncDDTO dto = null;
        if (vo != null) {
            dto = new InsFileSyncDDTO();
            dto.setId(vo.getId());
            dto.setPid(vo.getPid());//INS_FILE_SYNC.ID
            dto.setPaySchId(vo.getPaySchId());//支付表ID
            dto.setInsCntNo(vo.getInsCntNo());//资方合同号
            dto.setPayPd(vo.getPayPd());//期次
            dto.setPayDt(vo.getPayDt());//当期应收日期
            dto.setCapAmt(vo.getCapAmt());//当期应收本金
            dto.setPaidCapAmt(vo.getPaidCapAmt());//当期实收本金
            dto.setIntrAmt(vo.getIntrAmt());//当期应收利息
            dto.setPaidIntrAmt(vo.getPaidIntrAmt());//当期实收利息
            dto.setPenaltyAmt(vo.getPenaltyAmt());//当期应收罚息
            dto.setPaidPenaltyAmt(vo.getPaidPenaltyAmt());//当期实收罚息
            dto.setDataStatus(vo.getDataStatus());//数据状态 CAP0065 1:成功 0：失败

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
            // 我司合同号
            dto.setCntNo(vo.getCntNo());
            // 逾期状态
            dto.setOvdSts(vo.getOvdSts());
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list
     * @return List<InsFileSyncDVO>
     */
    public static List<InsFileSyncDVO> toVOList(List<InsFileSyncDDTO> list) {
        List<InsFileSyncDVO> voList = new ArrayList<InsFileSyncDVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (InsFileSyncDDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<InsFileSyncDVO>
     * @return List<InsFileSyncDDTO>
     */
    public static List<InsFileSyncDDTO> toDTOList(List<InsFileSyncDVO> list) {
        List<InsFileSyncDDTO> dtoList = new ArrayList<InsFileSyncDDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (InsFileSyncDVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
